import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
df = pd.read_excel('超市运营数据.xlsx')
#(1)
df['总额'] = df['价格']*df['数量']

df1 = df.groupby('销售经理').agg({'总额': 'sum'})
df1['排名'] = df1.rank(method='first',ascending=False)
df1.sort_values(by='排名',ascending=True,inplace=True)
print('按销售经理的总额降序排名，升序排行：\n',df1)

df2 = df.groupby('客户类型').agg({'总额':'sum'})
df2['排名'] = df2.rank(method='first',ascending=False)
df2.sort_values(by='排名',ascending=True,inplace=True)
print('按客户类型的总额降序排名，升序排行：\n',df2)

#(2)
print('每个客户类型的总数：\n', df.value_counts('客户类型'))
print('价格的平均值：', df['价格'].mean())
print('价格的最大值：', df['价格'].max())
print('价格的最小值：', df['价格'].min())
#(3)
df3 = pd.crosstab(index=df['客户类型'], columns=df['销售经理'])
print('客户类型和销售经理的交叉表:\n', df3)
#(4)
df4 = pd.pivot_table(df, values='数量', index='计划发货天数', columns='折扣', aggfunc='sum')
print('计划发货天数、折扣和数量的透视表:\n', df4)
#(5)
df5 = df[['计划发货天数', '价格', '数量', '折扣']]
print('计划发货天数、价格、数量和折扣之间的相关系数：\n', df5.corr())

